The value 17 is put into slot 0 of data
.
Array declarations look like this:
type[] arrayName;
This tells the compiler that arrayName will be used as the name of an array containing type. However, the actual array is not constructed by this declaration. This declaration merely declares a reference variable arrayName which, sometime in the future, is expected to refer to an array object.
Often an array is declared and constructed in one statetment, like this:
type[] arrayName = new type[ length ];
This statement does two things:
(1) It the compiler that arrayName
will refer to an array of type.
An array is an object, and like any other object in Java is constructed out of main storage as the program is running. The array constructor uses different syntax than other object constructors:
new type[ length ]
This names the type of data in each slot and the number of slots. Once an array has been constructed, the number of slots it has does not change. Here is an example:
int[] data = new int[10];
This statement creates the array data
and puts a zero into each slot.